Numerous systems exist today that allow long-running computations. In this context long-running means that the computations persist for an extended time, not necessarily that the computations themselves take a lot of time. For example, users can subscribe to systems that send alerts when particular events happen or can request periodic updates to information. For example, a user may want such a system to notify the user of the weather in a particular city each day. As another example, a user may want to be notified whenever the stock market reaches a particular threshold. To identify the weather or the stock market value may not take a long time, but the user's request has no end date (at least in these examples) and the system may perform the tasks over an extended period of time.
As the number of such long-running computations increase, management of the long-running computations can become a challenge.